nethackfandomcom-20200214-history
Source:Config1.h
Below is the full text to include/config1.h from NetHack 3.4.3. To link to a particular line, write [[config1.h#line123]], for example. 1. /* SCCS Id: @(#)config1.h 3.4 1999/12/05 */ 2. /* Copyright © Stichting Mathematisch Centrum, Amsterdam, 1985. */ 3. /* NetHack may be freely redistributed. See license for details. */ 4. 5. #ifndef CONFIG1_H 6. #define CONFIG1_H 7. 8. /* 9. * MS DOS - compilers 10. * 11. * Microsoft C auto-defines MSDOS, 12. * Borland C auto-defines __MSDOS__, 13. * DJGPP auto-defines MSDOS. 14. */ 15. 16. /* #define MSDOS */ /* use if not defined by compiler or cases below */ 17. 18. #ifdef __MSDOS__ /* for Borland C */ 19. # ifndef MSDOS 20. # define MSDOS 21. # endif 22. #endif 23. 24. #ifdef __TURBOC__ 25. # define __MSC /* increase Borland C compatibility in libraries */ 26. #endif 27. 28. #ifdef MSDOS 29. # undef UNIX 30. #endif 31. 32. /* 33. * Mac Stuff. 34. */ 35. #ifdef macintosh /* Auto-defined symbol for MPW compilers (sc and mrc) */ 36. # define MAC 37. #endif 38. 39. #ifdef THINK_C /* Think C auto-defined symbol */ 40. # define MAC 41. # define NEED_VARARGS 42. #endif 43. 44. #ifdef __MWERKS__ /* defined by Metrowerks' Codewarrior compiler */ 45. # ifndef __BEOS__ /* BeOS */ 46. # define MAC 47. # endif 48. # define NEED_VARARGS 49. # define USE_STDARG 50. #endif 51. 52. #if defined(MAC) || defined(__BEOS__) 53. # define DLB 54. # undef UNIX 55. #endif 56. 57. #ifdef __BEOS__ 58. # define NEED_VARARGS 59. #endif 60. 61. 62. /* 63. * Amiga setup. 64. */ 65. #ifdef AZTEC_C /* Manx auto-defines this */ 66. # ifdef MCH_AMIGA /* Manx auto-defines this for AMIGA */ 67. # ifndef AMIGA 68. #define AMIGA /* define for Commodore-Amiga */ 69. # endif /* (SAS/C auto-defines AMIGA) */ 70. #define AZTEC_50 /* define for version 5.0 of manx */ 71. # endif 72. #endif 73. #ifdef __SASC_60 74. # define NEARDATA __near /* put some data close */ 75. #else 76. # ifdef _DCC 77. # define NEARDATA __near /* put some data close */ 78. # else 79. # define NEARDATA 80. # endif 81. #endif 82. #ifdef AMIGA 83. # define NEED_VARARGS 84. # undef UNIX 85. # define DLB 86. # define HACKDIR "NetHack:" 87. # define NO_MACRO_CPATH 88. #endif 89. 90. /* 91. * Atari auto-detection 92. */ 93. 94. #ifdef atarist 95. # undef UNIX 96. # ifndef TOS 97. # define TOS 98. # endif 99. #else 100. # ifdef __MINT__ 101. # undef UNIX 102. # ifndef TOS 103. # define TOS 104. # endif 105. # endif 106. #endif 107. 108. /* 109. * Windows NT Autodetection 110. */ 111. #ifdef _WIN32_WCE 112. #define WIN_CE 113. # ifndef WIN32 114. # define WIN32 115. # endif 116. #endif 117. 118. #ifdef WIN32 119. # undef UNIX 120. # undef MSDOS 121. # define NHSTDC 122. # define USE_STDARG 123. # define NEED_VARARGS 124. 125. #ifndef WIN_CE 126. # define STRNCMPI 127. # define STRCMPI 128. #endif 129. 130. #endif 131. 132. 133. #if defined(__linux__) && defined(__GNUC__) && !defined(_GNU_SOURCE) 134. /* ensure _GNU_SOURCE is defined before including any system headers */ 135. # define _GNU_SOURCE 136. #endif 137. 138. #ifdef VMS /* really old compilers need special handling, detected here */ 139. # undef UNIX 140. # ifdef __DECC 141. # ifndef __DECC_VER /* buggy early versions want widened prototypes */ 142. # define NOTSTDC /* except when typedefs are involved */ 143. # define USE_VARARGS 144. # else 145. # define NHSTDC 146. # define USE_STDARG 147. # define POSIX_TYPES 148. # define _DECC_V4_SOURCE /* avoid some incompatible V5.x changes */ 149. # endif 150. # undef __HIDE_FORBIDDEN_NAMES /* need non-ANSI library support functions */ 151. # else 152. # ifdef VAXC /* must use CC/DEFINE=ANCIENT_VAXC for vaxc v2.2 or older */ 153. # ifdef ANCIENT_VAXC /* vaxc v2.2 and earlier of warnings to come */ 154. # define KR1ED /* simulate defined() */ 155. # define USE_VARARGS 156. # else /* vaxc v2.3,2.4,or 3.x, or decc in vaxc mode */ 157. # if defined(USE_PROTOTYPES) /* this breaks 2.2 (*forces* use of ANCIENT)*/ 158. # define __STDC__ 0 /* vaxc is not yet ANSI compliant, but close enough */ 159. # define signed /* well, almost close enough */ 160. #include 161. # define UNWIDENED_PROTOTYPES 162. # endif 163. # define USE_STDARG 164. # endif 165. # endif /*VAXC*/ 166. # endif /*__DECC*/ 167. # ifdef VERYOLD_VMS /* v4.5 or earlier; no longer available for testing */ 168. # define USE_OLDARGS /* is there, vprintf & vsprintf aren't */ 169. # ifdef USE_VARARGS 170. # undef USE_VARARGS 171. # endif 172. # ifdef USE_STDARG 173. # undef USE_STDARG 174. # endif 175. # endif 176. #endif /*VMS*/ 177. 178. #ifdef vax 179. /* just in case someone thinks a DECstation is a vax. It's not, it's a mips */ 180. # ifdef ULTRIX_PROTO 181. # undef ULTRIX_PROTO 182. # endif 183. # ifdef ULTRIX_CC20 184. # undef ULTRIX_CC20 185. # endif 186. #endif 187. 188. #ifdef KR1ED /* For compilers which cannot handle defined() */ 189. #define defined(x) (-x-1 != -1) 190. /* Because: 191. * #define FOO => FOO={} => defined( ) => (-1 != - - 1) => 1 192. * #define FOO 1 or on command-line -DFOO 193. * => defined(1) => (-1 != - 1 - 1) => 1 194. * if FOO isn't defined, FOO=0. But some compilers default to 0 instead of 1 195. * for -DFOO, oh well. 196. * => defined(0) => (-1 != - 0 - 1) => 0 197. * 198. * But: 199. * defined("") => (-1 != - "" - 1) 200. * is an unavoidable catastrophe. 201. */ 202. #endif 203. 204. #endif /* CONFIG1_H */ Category:source code